package com.ruoyi.system.service;

import com.ruoyi.system.domain.Posts;
import com.ruoyi.system.domain.vo.PostsAuditVo;
import com.ruoyi.system.domain.vo.PostsCreateVo;
import com.ruoyi.system.dto.PostsDTO;
import com.ruoyi.system.dto.PostsStatisticsDTO;

import java.util.List;

/**
 * 动态帖子业务接口
 *
 * 提供帖子查询、增删改、审核、统计等业务能力
 */
public interface PostsService {
    /** 按主键查询帖子详情（返回前端友好 DTO） */
    PostsDTO selectPostsById(Long id);

    /** 查询帖子列表（返回 DTO 列表，支持分页） */
    List<PostsDTO> selectPostsList(Posts posts);

    /** 查询帖子列表（返回实体列表，主要用于导出等场景） */
    List<Posts> selectPostsEntityList(Posts posts);

    /** 新增帖子（默认状态为待审核） */
    int insertPosts(PostsCreateVo posts);

    /** 修改帖子（按需更新字段） */
    int updatePosts(Posts posts);

    /** 删除单个帖子 */
    int deletePostsById(Long id);

    /** 批量删除帖子 */
    int deletePostsByIds(Long[] ids);

    /** 审核帖子（通过/违规等） */
    int auditPost(PostsAuditVo auditVo);

    /** 获取帖子统计数据（总数、今日新增、待审核、违规数量） */
    PostsStatisticsDTO getStatistics();
}
